/**
 * 郭楠project
 * com.gn.controller
 * UserMessageController.java
 * 创建人:TonyGuo 
 * 时间：2016年12月13日-上午12:10:34 
 * 2016Tm公司-版权所有
 */
package com.gn.controller;

import java.util.Date;
import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.gn.entity.AdminUser;
import com.gn.entity.R;
import com.gn.entity.UserMessage;
import com.gn.service.UserMessageService;
import com.gn.util.CommonUtils;
import com.taoxeo.commons.lang.IdUtils;

/**
 * 
 * UserMessageController
 * 创建人:TonyGuo
 * 时间：2016年12月13日-上午12:10:34 
 * @version 1.0.0
 * 
 */
@RestController
@RequestMapping("/rest")
public class UserMessageController {
	private Logger logger=LoggerFactory.getLogger(UserMessageController.class);
	@Resource
	UserMessageService userMessageService;
	
	/**
	 * 【保存用户留言】
	 * @author TonyGuo
	 * @param UserMessage
	 * return boolean
	 * */
	@RequestMapping(value="user.message.save",method=RequestMethod.POST)
	public R saveUserMessage(HttpServletRequest req,UserMessage userMessage){
		AdminUser user=(AdminUser)req.getSession().getAttribute("curr_user");
		
		userMessage.setId(IdUtils.uuid());
		userMessage.setUserName(user.getUsername());
		userMessage.setUid(user.getUserid());
		userMessage.setMessageTime(CommonUtils.date2Str(new Date()));
		userMessage.setIsReply(UserMessage.replyStateNo);
		logger.info("【userMessage：{}】",userMessage);
		userMessageService.addUserMessage(userMessage);
		return R.ok();
	}
	
	/**
	 * 【删除用户留言】
	 * @author TonyGuo
	 * @param 主键ID
	 * return boolean
	 * */
	@RequestMapping(value="user.message.del/{id}",method=RequestMethod.GET)
	public boolean deleteUserMessage(@PathVariable("id") String id){
		if(id!=null){
			userMessageService.deleteUserMessage(id);
			return true;
		}
		return false;
	}
	
	/**
	 * 【查找单个用户留言】
	 * @author TonyGuo
	 * @param 主键ID
	 * return boolean
	 * */
	@RequestMapping(value="user.message.find/{id}",method=RequestMethod.GET)
	public UserMessage findUserMessage(@PathVariable("id") String id){
		UserMessage userMessage=null;
		if(id!=null){
			userMessage=userMessageService.findUserMessage(id);
			return userMessage;
		}
		return userMessage;
	}
	
	/**
	 * 【查询所有留言】
	 * @author TonyGuo
	 * @param 主键ID
	 * return boolean
	 * */
	@RequestMapping(value="user.message.find.all",method=RequestMethod.GET)
	public List<UserMessage> findAllUserMessages(){
		List<UserMessage> ums= userMessageService.findAllUserMessages();
		if(ums!=null)
			return ums;
		else
			return null;
	}
	
	/**
	 * 【查询留言某个用户列表】
	 * @author TonyGuo
	 * @param 主键ID
	 * return boolean
	 * */
	@RequestMapping(value="user.message.find.list/{uid}",method=RequestMethod.GET)
	public List<UserMessage> findUserMessageList(@PathVariable("uid") String uid){
		if(uid!=null){
			return userMessageService.findUserMessageList(uid);
		}
		return null;
	}
	
	/**
	 * 【站长回复更新】
	 * @author TonyGuo
	 * @param 主键ID
	 * return boolean
	 * */
	@RequestMapping(value="message.reply.update/{id}",method=RequestMethod.GET)
	public R findUserMessageList(@PathVariable("id") String id,@RequestParam("content") String content){
		logger.info("=======id:{},==========content:{}",id,content);
		userMessageService.replyContentUpdate(UserMessage.replyStateReplyed, content, CommonUtils.date2Str(new Date()), id);
		return R.ok();
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}
